EC2(AL2)上にStable Diffusion Web UI(AUTOMATIC1111)をインストールして使ってみた
こんにちは、ゲームソリューション部のsoraです。
今回は、EC2(AL2)上にStable Diffusion Web UI(AUTOMATIC1111)をインストールして使ってみたことについて書いていきます。
クォータの引き上げ
初期状態ではG系インスタンスのvCPUが0で制限がかかっているため、G系インスタンスを使用するためにクォータの引き上げリクエストを行う必要があります。
今回はオンデマンドでg5.xlarge
を使用するため、それより少し大きめの8vCPUでリクエストしました。
ステータスが終了になれば、問題なく完了しています。
(ステータスが終了になっていても反映されるまで時間がかかる場合があります。)
EC2インスタンスの起動
クォータの引き上げが完了したら、EC2インスタンスを起動します。
使用するAMIは、Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.3.1 (Amazon Linux 2)
です。
G系インスタンスではGPUの設定などが必要ですが、上記のDeep LearningのAMIはGPUの設定をしなくても簡単に利用できました。
インスタンスタイプはg5.xlarge
、EBSは45GiBにします。
Stable Diffusion Web UI(AUTOMATIC1111)のインストール
Stable Diffusion Web UI(AUTOMATIC1111)を使用するために、Python 3.10か3.11が必要になるため、Pythonをインストールします。
$ sudo yum update
$ sudo yum install wget git python3 gperftools-libs libglvnd-glx
$ python -V
Python 3.12.7
# ⇒python 3.10か3.11にするためpyenvのインストール
# pyenvのインストール
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ source ~/.bashrc
# pyenvでPython 3.11のインストール
$ pyenv install --list
$ pyenv install 3.11.10
$ pyenv global 3.11.10
# バージョンの確認
$ python -V
準備ができたため、Stable Diffusion Web UI(AUTOMATIC1111)をインストールします。
モデルはデフォルトで入っているため、個別でインストールしなくても使用は可能です。
モデルをインストールする場合は、Hugging Faceなどからダウンロードしてmodels/Stable-diffusion
配下にckptファイルやsafetensorsファイルを配置します。
$ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
$ cd stable-diffusion-webui
$ source webui.sh --listen
# --listenオプション:サーバとしてリクエストを受ける
各種インストールが走って実行できた後、http://{パブリックIPアドレス}:7860
でアクセスできます。
画像生成
起動できたため、プロンプトを書いて実行してみると画像が生成されました。
参考
最後に
今回は、EC2(AL2)上にStable Diffusion Web UI(AUTOMATIC1111)をインストールして使ってみたことを記事にしました。
どなたかの参考になると幸いです。